Loop definitions file

A .csv file containing loop information for each loop to be added to the Action Object needs to be created before the Action Object can be added to the CSense Runtime Manager for deployment. This will typically be created by an engineer or by plant personnel familiar with the plant control structure and system.

The properties of different tags within each loop, as well as the information required for loop monitoring are listed in the loop definitions file. Process+ monitors the performance of some tags and plot these values on graphs.

You can create a loop definition file as follows:

Writing Loop Statistics and Loop Configuration to Historian tags

The loop definitions .csv file can also be used to specify loop statistics and loop configuration that should be written to Proficy Historian tags when the Action Object is added to the CSense Runtime Manager for deployment.

To write to Historian tags, include the following in your .csv file:

  • The property headers that specify the required loop statistics or loop configuration to be written to Historian tags.

    • Properties which will be written to Historian tags have headers that start with "Out...", or "Out Value...".

    • They are specified as Historian tags in the Description column of the Loop Properties table that follows.

    • These properties are optional.

  • The corresponding string values that represent the destination tag ID in Proficy Historian.

    • If the specified destination tag exists in Proficy Historian, it will be updated.

    • If the specified destination tag does not exist in Proficy Historian, it will be created.

    • If the value for a Historian tag ID is empty, the property will be ignored.

If you include loop statistics and loop configuration that should be written to Proficy Historian tags, then a dialog will open up to enable you to configure an Historian connection when you attempt to deploy the action object.

Loop input and output mappings created from the .csv file specifications can be viewed in the control loop properties.

Notes:
Historian connection failures or write failures will not stop Process+ statistic calculations.
Errors are reported in the event logs.Writing loop statistics and loop configuration to Historian tags is not available for ad-hoc Process+ action objects.

Loop Properties

Headers

Description

Field type

Values

Adjustable?

Note: This value can be reset during deployment of the Action Object.

Optional or Mandatory in the File?

KPI Name

(See Understanding Process+ KPIs)

LoopID

Loop ID within the control system

Integer

First time deployment of the loop: automatically generated by the control system.

Redeployment of the loop: the LoopID must be read off the .csv file from the initial deployment of the loop, then manually entered into the new .csv file LoopID column.

No

Optional

NA

LoopName

Descriptive name of loop

String

Each name must be unique.
Length: 1 - 256 characters.

Yes

Mandatory

NA

LowerSPOffset

Lower set point offset - user defined offset from the defined set point value

Double

User defined. Limited to the minimum and maximum value of a double.

The offset cannot be negative.

The lower and upper offset values do not need to equal each other.

The lower offset can be greater than the upper offset.

 Yes - Assign new limits to a number of loops simultaneously

Mandatory

NA

UpperSPOffset

Upper set point offset - user defined offset from the defined set point value

Double

User defined. Limited to the minimum and maximum value of a double.

The offset cannot be negative.

The lower and upper offset values do not need to equal each other.

Yes - Assign new limits to a number of loops simultaneously

Mandatory

NA

LowerPVLimit

Lower process variable limit - physical lower limit of the system

Double

Limited by the physical constraints of the process. Limited to the minimum and maximum value of a double, including negative values.

The lower limit cannot be greater than the upper limit.

Yes - Assign new limits to a number of loops simultaneously

Mandatory

NA

UpperPVLimit

Upper process variable limit - physical upper limit of the system

Double

Limited by the physical constraints of the process. Limited to the minimum and maximum value of a double, including negative values.

The lower limit cannot be greater than the upper limit.

Yes - Assign new limits to a number of loops simultaneously

Mandatory

NA

SamplingPeriod

Rate at which data is sampled

Integer

All the loops defined in one .csv file must have the same sampling period. Minimum value=1 second. Values must be positive. No maximum value.

No

Mandatory

NA

TagSP

Set point tag

String

Mandatory tag. Minimum value=1 character. Maximum value = limited by the source tag it is reading from, and no more than 256 characters.

No

Mandatory

NA

TagPV

Process variable tag

String

Mandatory tag. Minimum value=1 character. Maximum value = limited by the source tag it is reading from, and no more than 256 characters.

No

Mandatory

NA

TagMV

Manipulated variable tag

String

Mandatory tag. The MV tag must always be expressed as a percentage in the range between 0 and 100. Minimum value=0. Maximum value = 100. If values outside this range are input to the system, the values will be clipped to either 0 or 100.

No

Mandatory

NA

TagP

Controller Proportional tag

String

Optional tag. Minimum value=1 character. Maximum value = limited by the source tag it is reading from, and no more than 256 characters.

No

Mandatory

NA

TagI

Controller Integral tag

String

Optional tag. Minimum value=1 character. Maximum value = limited by the source tag it is reading from, and no more than 256 characters.

No

Mandatory

NA

TagD

Controller Derivative tag

String

Optional tag. Minimum value=1 character. Maximum value = limited by the source tag it is reading from, and no more than 256 characters.

No

Mandatory

NA

TagF

Controller Filter tag

String

Optional tag. Minimum value=1 character. Maximum value = limited by the source tag it is reading from, and no more than 256 characters.

No

Mandatory

NA

Control mode tags:  

 

- TagVV

- TagWW

- TagXX

- TagYY

- TagZZ

Tags used for creating control mode rules.

Double

Optional tags used to determine loop control mode. Minimum value=1 character. Maximum value = limited by the source tag it is reading from, and no more than 256 characters each.

No

Mandatory

NA

TagPEnabled

Indicates whether the Controller Proportional tag is enabled

Integer

Can only be set as enabled (1) or not enabled (0).

Yes

Mandatory

NA

TagIEnabled

Indicates whether the Controller Integral tag is enabled

Integer

Can only be set as enabled (1) or not enabled (0).

Yes

Mandatory

NA

TagDEnabled

Indicates whether the Controller Derivative tag is enabled

Integer

Can only be set as enabled (1) or not enabled (0).

Yes

Mandatory

NA

TagFEnabled

Indicates whether the Controller Filter tag is enabled

Integer

Can only be set as enabled (1) or not enabled (0).

Yes

 

Mandatory

NA

LoopDescription

A description of the loop

String

Optional. No more than 2048 characters.

Yes

Mandatory

NA

LoopPriority

Assign a priority to the loop

String

No more than 256 characters.

Yes

Optional

NA

Plant

Assign a Plant to which the loop belongs

String

No more than 256 characters.

Yes

Optional

NA

Section

Assign a Section to which the loop belongs

String

No more than 256 characters.

Yes

Optional

NA

Group

Assign a Group to which the loop belongs

String

No more than 256 characters.

Yes

Optional

NA

OutLowerSPOffset

Tag in Proficy Historian where the lower set point offset will be written. The lower set point offset is the user-defined offset from the defined set point value.

String

No more than 256 characters in the String.

Historian type: DoubleFloat

No

Optional

NA

OutUpperSPOffset

Tag in Proficy Historian where the upper set point offset will be written. The upper set point offset is the user-defined offset from the defined set point value.

String

No more than 256 characters in the String.

Historian type: DoubleFloat

No

Optional

NA

OutLowerPVLimit

Tag in Proficy Historian where the lower process variable limit will be written. The lower process variable limit is the physical lower limit of the system.

String

No more than 256 characters in the String.

Historian type: DoubleFloat

No

Optional

NA

OutUpperPVLimit

Tag in Proficy Historian where the upper process variable limit will be written. The upper process variable limit is the physical upper limit of the system.

String

No more than 256 characters in the String.

Historian type: DoubleFloat

No

Optional

NA

OutConfiguration

Tag in Proficy Historian where the loop configuration will be written.

String (XML)

Historian type: String

Format example:
<?xml version="1.0" encoding="utf-16"?>
<
LoopInformation
id="1"
name="HistorianLoop01"
description="Loop saving to Proficy Historian 01"
samplingPeriod="15"
tagSP="IO/WRITE/Loop1_SP"
tagPV="IO/WRITE/Loop1_PV"
tagMV="IO/WRITE/Loop1_MV"
tagP="IO/WRITE/Loop1_P"
tagI="IO/WRITE/Loop1_I"
tagD="IO/WRITE/Loop1_D"
tagF=""
tagVV="IO/WRITE/Loop1_WW"
tagWW=""
tagXX=""
tagYY=""
tagZZ=""
tagPEnabled="1"
tagIEnabled="1"
tagDEnabled="1"
tagFEnabled="0"
/>

No

Optional

NA

OutValuePercentageManual

Tag in Proficy Historian where the percentage of time will be written that the PV spends operating in the Manual control mode.

String

No more than 256 characters in the String.

Historian type: DoubleFloat

No

Optional

Manual (%)

OutValuePercentageManualLLExceeded

Tag in Proficy Historian where the percentage of time will be written that the PV spends operating in the Manual control mode and exceeding the lower limit.

String

No more than 256 characters in the String.

Historian type: DoubleFloat

No

Optional

Manual Lower Limit %

OutValuePercentageManualULExceeded

Tag in Proficy Historian where the percentage of time will be written that the PV spends operating in the Manual control mode and exceeding the upper limit.

String

No more than 256 characters in the String.

Historian type: DoubleFloat

No

Optional

Manual Upper Limit %

OutValuePercentageAuto

Tag in Proficy Historian where the percentage of time will be written that the PV spends operating in the Auto control mode.

String

No more than 256 characters in the String.

Historian type: DoubleFloat

No

Optional

Auto (%)

OutValuePercentageAutoLLExceeded

Tag in Proficy Historian where the percentage of time will be written that the PV spends operating in the Auto control mode and exceeding the lower limit.

String

No more than 256 characters in the String.

Historian type: DoubleFloat

No

Optional

Auto Lower Limit %

OutValuePercentageAutoULExceeded

Tag in Proficy Historian where the percentage of time will be written that the PV spends operating in the Auto control mode and exceeding the upper limit.

String

No more than 256 characters in the String.

Historian type: DoubleFloat

No

Optional

Auto Upper Limit %

OutValuePercentageCascade

Tag in Proficy Historian where the percentage of time will be written that the PV spends operating in the Cascade control mode.

String

No more than 256 characters in the String.

Historian type: DoubleFloat

No

Optional

Cascade (%)

OutValuePercentageCascadeLLExceeded

Tag in Proficy Historian where the percentage of time will be written that the PV spends operating in the Cascade control mode and exceeding the lower limit.

String

No more than 256 characters in the String.

Historian type: DoubleFloat

No

Optional

Cascade Lower Limit %

OutValuePercentageCascadeULExceeded

Tag in Proficy Historian where the percentage of time will be written that the PV spends operating in the Cascade control mode and exceeding the upper limit.

String

No more than 256 characters in the String.

Historian type: DoubleFloat

No

Optional

Cascade Upper Limit %

OutValuePercentageShutdown

Tag in Proficy Historian where the percentage of time will be written that the PV spends operating in the Shutdown control mode.

String

No more than 256 characters in the String.

Historian type: DoubleFloat

No

Optional

Shutdown (%)

OutValuePercentageShutdownLLExceeded

Tag in Proficy Historian where the percentage of time will be written that the PV spends operating in the Shutdown control mode and exceeding the lower limit.

String

No more than 256 characters in the String.

Historian type: DoubleFloat

No

Optional

Shutdown Lower Limit %

OutValuePercentageShutdownULExceeded

Tag in Proficy Historian where the percentage of time will be written that the PV spends operating in the Shutdown control mode and exceeding the upper limit.

String

No more than 256 characters in the String.

Historian type: DoubleFloat

No

Optional

Shutdown Upper Limit %

OutValueNumberOfSamples

Tag in Proficy Historian where the Number of Samples statistic will be written.

String

No more than 256 characters in the String.

Historian type: DoubleInteger

No

Optional

No. of samples

OutValuePercentageControlOn

Tag in Proficy Historian where the percentage of time will be written that data is not of bad quality.

String

No more than 256 characters in the String.

Historian type: DoubleFloat

No

Optional

%Time when control on

OutValuePercentageControllerOutput

Tag in Proficy Historian where the Percentage Controller Output statistic will be written. The Percentage Controller Ouput is the average manipulated variable, expressed as a percentage.

String

No more than 256 characters in the String.

Historian type: DoubleFloat

No

Optional

Manipulated Variable [%]

OutValuePercentageNotUtilized

Tag in Proficy Historian where the % Not Utilized statistic will be written. The % Not Utilized is the percentage of the  reporting period for which the loop is not in use.

The loop is considered to be not in use if it is in manual mode or if the controller output is saturated. The controller output is considered saturated when the MV has a value of 0 (the lower limit for controller output saturation) or 100 (the upper limit for controller output saturation).

Only data of good quality is taken into account.

String

No more than 256 characters in the String.

Historian type: DoubleFloat

No

Optional

Duration Not Utilized [%]

OutValuePercentageMVSaturation

Tag in Proficy Historian where the Percentage MV Saturation statistic will be written.

The Percentage MV Saturation is the percentage of the reporting period for which the controller output is saturated. The controller output is considered saturated when the MV has a value of 0 (the lower limit for controller output saturation) or 100 (the upper limit for controller output saturation).

Only data of good quality is taken into account.

String

No more than 256 characters in the String.

Historian type: DoubleFloat

No

Optional

MV Saturation [%]

OutValueOverallPerformance

Tag in Proficy Historian where the Overall Performance statistic will be written.

The Overall Performance statistic is a statistic composed of the following elements in the following proportions:

- 1/3: Percentage of the reporting period for which any loop limits (except shutdown limits) are exceeded.

- 1/3: Percentage of the reporting period for which the loop operates in manual control mode.

- 1/3: Percentage of the reporting period for which the controller output is saturated. The controller output is considered saturated when the MV has a value of 0 (the lower limit for controller output saturation) or 100 (the upper limit for controller output saturation).

Only data of good quality is taken into account.

String

No more than 256 characters in the String.

Historian type: DoubleFloat

No

Optional

OverallPerformance

OutValueMovementIndex

Tag in Proficy Historian where the Movement Index statistic will be written. The Movement Index gives an indication of the absolute sum of all changes made in the manipulated variable.

String

No more than 256 characters in the String.

Historian type: DoubleFloat

No

Optional

Total MV Movement

OutValueControlAmplitude

Tag in Proficy Historian where the Control Amplitude statistic will be written. The Control Amplitude gives an indication of the average amount of movement in the manipulated variable.

String

No more than 256 characters in the String.

Historian type: DoubleFloat

No

Optional

Average MV Change [%]

OutValueReverseIndex

Tag in Proficy Historian where the Reverse Index statistic will be written. The Reverse Index indicates the number of times that the manipulated variable changes its direction.

String

No more than 256 characters in the String.

Historian type: DoubleInteger

No

Optional

MV Oscillation Count [#] * 2

OutValueReverseAmplitude

Tag in Proficy Historian where the Reverse Amplitude statistic will be written. The Reverse Amplitude gives an indication of the average amount of movement in the manipulated variable before changing direction.

String

No more than 256 characters in the String.

Historian type: DoubleFloat

No

Optional

Average Oscillation Amplitude [%]

OutValueIntegratedSum

Tag in Proficy Historian where the Integrated Sum statistic will be written. The Integrated Sum is the absolute sum of all differences between the process variable and the set point.

String

No more than 256 characters in the String.

Historian type: DoubleFloat

No

Optional

Integrated Error

OutValueAverage

Tag in Proficy Historian where the Average Error statistic will be written. This is the average tag error, where the tag error is the difference between process variable and set point.

String

No more than 256 characters in the String.

Historian type: DoubleFloat

No

Optional

Average Error

OutValueStdDeviation

Tag in Proficy Historian where the Standard Deviation will be written. This is the standard deviation of the tag error, where the tag error is the difference between process variable and set point.

String

No more than 256 characters in the String.

Historian type: DoubleFloat

No

Optional

Error Std Deviation

OutValuePercentagePVVariance

Tag in Proficy Historian where the Percentage PV Variance will be written. The Percentage PV Variance is a measure of the deviation of the PV from the average PV, expressed as a percentage of the reporting period. See the statistical equation given below this table for how this is calculated.

Only data of good quality is taken into account.

String

No more than 256 characters in the String.

Historian type: DoubleFloat

No

Optional

PV Variance [%]

OutValuePVVariability

Tag in Proficy Historian where the PV Variability will be written. The PV Variability is a measure of how spread or closely clustered the PV data set is, expressed as a percentage. See the statistical equation given below this table for how this is calculated.

Only data of good quality is taken into account.

String

No more than 256 characters in the String.

Historian type: DoubleFloat

No

Optional

PV Variability

OutValuePercentageGoodQuality

Tag in Proficy Historian that stores the Percentage of Good Quality statistic. The Percentage of Good Quality indicates the percentage of time that the data is not of bad quality.

String

No more than 256 characters in the String.

Historian type: DoubleFloat

No

Optional

Good Quality Data (%)

OutValuePIDFChanges

Tag in Proficy Historian where the PIDF (proportional, integral, derivative, and filter) changes will be written. The PIDF changes statistic is the sum of the number of times any of the PIDF values have changed.

String

No more than 256 characters in the String.

Historian type: DoubleInteger

No

Optional

PIDF Configuration Changes

OutValueAverageAbsoluteError

Tag in Proficy Historian where the Average Absolute Error statistic will be written. This is the average absolute value of the tag error, where the tag error is the difference between process variable and set point.

String

No more than 256 characters in the String.

Historian type: DoubleFloat

No

Optional

Average Absolute Error

OutValueFFTPeriodPeak1

Tag in Proficy Historian where the 1st FFT Period Peak will be written. This is the period (in seconds) of the frequency with the highest associated amplitude on the FFT graph for the reporting period.

String

No more than 256 characters in the String.

Historian type: DoubleFloat

No

Optional

Period (Seconds)

OutValueFFTPeriodPeak2

Tag in Proficy Historian where the 2nd FFT Period Peak will be written. This is the period (in seconds) of the frequency with the second highest associated amplitude on the FFT graph for the reporting period.

String

No more than 256 characters in the String.

Historian type: DoubleFloat

No

Optional

Period (Seconds)

OutValueFFTPeriodPeak3

Tag in Proficy Historian where the 3rd FFT Period Peak will be written. This is the period (in seconds) of the frequency with the third highest associated amplitude on the FFT graph for the reporting period.

String

No more than 256 characters in the String.

Historian type: DoubleFloat

No

Optional

Period (Seconds)

OutValueFFTPowerPercentagePeak1

Tag in Proficy Historian where the 1st FFT Peak Percentage Power will be written. This is the power for the point in the FFT graph for which the amplitude is highest, expressed as a percentage of the total power in the frequency spectrum of the FFT for the reporting period.

String

No more than 256 characters in the String.

Historian type: DoubleFloat

No

Optional

Strength (%power)

OutValueFFTPowerPercentagePeak2

Tag in Proficy Historian where the 2nd FFT Peak Percentage Power will be written. This is the power for the point in the FFT graph for which the amplitude is second highest, expressed as a percentage of the total power in the frequency spectrum of the FFT for the reporting period.

String

No more than 256 characters in the String.

Historian type: DoubleFloat

No

Optional

Strength (%power)

OutValueFFTPowerPercentagePeak3

Tag in Proficy Historian where the 3rd FFT Peak Percentage Power will be written. This is the power for the point in the FFT graph for which the amplitude is third highest, expressed as a percentage of the total power in the frequency spectrum of the FFT for the reporting period.

String

No more than 256 characters in the String.

Historian type: DoubleFloat

No

Optional

Strength (%power)

OutValuePercentageLimitsExceeded

Tag in Proficy Historian where the percentage of time will be written that the PV spends operating in the Manual, Auto or Cascade control mode and exceeding the upper or lower limit.

String

No more than 256 characters in the String.

Historian type: DoubleFloat

No

Optional

Limits Exceeded (%)

OutValuePerformanceIndex

Tag in Proficy Historian where the percentage of time will be written that the PV spends operating in the Auto or Cascade control mode and exceeding the upper or lower limit.

String

No more than 256 characters in the String.

Historian type: DoubleFloat

No

Optional

PerformanceIndex

OutValuePValueStartOfReport

Tag in Proficy Historian where it is the TagP value at the beginning of the reporting period.

String

Historian type: String

No

Optional

Report Start (Actual)- P

OutValueIValueStartOfReport

Tag in Proficy Historian where it is the TagI value at the beginning of the reporting period.

String

Historian type: String

No

Optional

Report Start (Actual)- I

OutValueDValueStartOfReport

Tag in Proficy Historian where it is the TagD value at the beginning of the reporting period.

String

Historian type: String

No

Optional

Report Start (Actual)- D

OutValueFValueStartOfReport

Tag in Proficy Historian where it is the TagF value at the beginning of the reporting period.

String

Historian type: String

No

Optional

Report Start (Actual)- F

OutValuePValueEndOfReport

Tag in Proficy Historian where it is the TagP value at the end of the reporting period.

String

Historian type: String

No

Optional

Report End (Actual)- P

OutValueIValueEndOfReport

Tag in Proficy Historian where it is the TagI value at the end of the reporting period.

String

Historian type: String

No

Optional

Report End (Actual)- I

OutValueDValueEndOfReport

Tag in Proficy Historian where it is the TagD value at the end of the reporting period.

String

Historian type: String

No

Optional

Report End (Actual)- D

OutValueFValueEndOfReport

Tag in Proficy Historian where it is the TagF value at the end of the reporting period.

String

Historian type: String

No

Optional

Report End (Actual)- F

Statistical Equations for Historian Tags Referenced

Some of the loop information specified in the loop definitions CSV file refers to tags in Proficy Historian where statistics are written. The following explanations are given for some of the statistics where an equation may be needed to clarify what the statistic represents.

Percentage PV Variance

The Percentage PV Variance is calculated as:

where

  • PVaverage is the average for the PV during the reporting period.

  • xi is an individual PV measurement.

  • N is the number of samples in the reporting period.

  • span is the difference between the upper PV limit and the lower PV limit.

PV Variability

The PV Variability is calculated as:

where

  • PVaverage is the average for the PV during the reporting period.


Related topics:

  

CSense 2023- Last updated: June 24,2025